今天的進度是class
在Monkey C 要建立一個新的class只需要加一個class關鍵字即可:
class Circle {
var mRadius;
}
跟java一樣,要建立一個class的實例,使用new
var myCircle = new Circle();
當一個class被new出來之後,會先自動執行initialize()的動作,因此我們只要在定義class的時候先寫好initialize()的方法,當它被建立時就會自己執行initialize()了
class Circle {
var mRadius;
function initialize(aRadius) {
mRadius = aRadius;
}
}
// Create a new circle with a radius of 2
var myCircle = new Circle(2);
在java裡是用this.變數名稱來區分傳進來的參數跟成員變數,
在Monkey C是用me
.變數名稱 或者self
.變數名稱來區分的,
只要是要在方法內呼叫其他成員變數就一律加上me或self可以增加程式的識別度,也減少自己搞混的機率
using Toybox.Math as Math;
class Circle {
var mRadius;
function initialize(mRadius) {
self.mRadius = mRadius;
}
}
一個class內部可以再定義一個內層class,
一般而言,內層class不可直接存取其外層class的其他成員變數
class OuterClass {
var mRadius;
...
class NestedClass {
...
}
}